package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 邮箱配置对象 basicEmailConfig
 * 
 * @author ruoyi
 * @date 2025-03-02
 */
public class BasicEmailConfig extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 邮箱配置编号 */
    private Long emailConfigId;

    /** 供应商编号 */
    @Excel(name = "供应商编号")
    private Long supplierId;

    /** 发送邮箱账号 */
    @Excel(name = "发送邮箱账号")
    private String emailAccount;

    /** SMTP 服务器地址 */
    @Excel(name = "SMTP 服务器地址")
    private String smtpServer;

    /** SMTP 服务器端口 */
    @Excel(name = "SMTP 服务器端口")
    private Long smtpPort;

    /** SMTP 用户名 */
    @Excel(name = "SMTP 用户名")
    private String smtpUsername;

    /** SMTP 密码 */
    @Excel(name = "SMTP 密码")
    private String smtpPassword;

    /** 是否启用 SSL 加密 */
    @Excel(name = "是否启用 SSL 加密")
    private Integer isSslEnabled;

    /** 是否启用 TLS 加密 */
    @Excel(name = "是否启用 TLS 加密")
    private Integer isTlsEnabled;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    /** 上次更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上次更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateTime;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updater;

    /** 是否激活 */
    @Excel(name = "是否激活")
    private Integer isActive;

    public void setEmailConfigId(Long emailConfigId) 
    {
        this.emailConfigId = emailConfigId;
    }

    public Long getEmailConfigId() 
    {
        return emailConfigId;
    }
    public void setSupplierId(Long supplierId) 
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId() 
    {
        return supplierId;
    }
    public void setEmailAccount(String emailAccount) 
    {
        this.emailAccount = emailAccount;
    }

    public String getEmailAccount() 
    {
        return emailAccount;
    }
    public void setSmtpServer(String smtpServer) 
    {
        this.smtpServer = smtpServer;
    }

    public String getSmtpServer() 
    {
        return smtpServer;
    }
    public void setSmtpPort(Long smtpPort) 
    {
        this.smtpPort = smtpPort;
    }

    public Long getSmtpPort() 
    {
        return smtpPort;
    }
    public void setSmtpUsername(String smtpUsername) 
    {
        this.smtpUsername = smtpUsername;
    }

    public String getSmtpUsername() 
    {
        return smtpUsername;
    }
    public void setSmtpPassword(String smtpPassword) 
    {
        this.smtpPassword = smtpPassword;
    }

    public String getSmtpPassword() 
    {
        return smtpPassword;
    }
    public void setIsSslEnabled(Integer isSslEnabled) 
    {
        this.isSslEnabled = isSslEnabled;
    }

    public Integer getIsSslEnabled() 
    {
        return isSslEnabled;
    }
    public void setIsTlsEnabled(Integer isTlsEnabled) 
    {
        this.isTlsEnabled = isTlsEnabled;
    }

    public Integer getIsTlsEnabled() 
    {
        return isTlsEnabled;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }
    public void setLastUpdateTime(Date lastUpdateTime) 
    {
        this.lastUpdateTime = lastUpdateTime;
    }

    public Date getLastUpdateTime() 
    {
        return lastUpdateTime;
    }
    public void setUpdater(String updater) 
    {
        this.updater = updater;
    }

    public String getUpdater() 
    {
        return updater;
    }
    public void setIsActive(Integer isActive) 
    {
        this.isActive = isActive;
    }

    public Integer getIsActive() 
    {
        return isActive;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("emailConfigId", getEmailConfigId())
            .append("supplierId", getSupplierId())
            .append("emailAccount", getEmailAccount())
            .append("smtpServer", getSmtpServer())
            .append("smtpPort", getSmtpPort())
            .append("smtpUsername", getSmtpUsername())
            .append("smtpPassword", getSmtpPassword())
            .append("isSslEnabled", getIsSslEnabled())
            .append("isTlsEnabled", getIsTlsEnabled())
            .append("createTime", getCreateTime())
            .append("creator", getCreator())
            .append("lastUpdateTime", getLastUpdateTime())
            .append("updater", getUpdater())
            .append("isActive", getIsActive())
            .toString();
    }
}
